草庐IT

HTTP 服务器

全部标签

go - 集群中 n 个 Web 服务器之间的文件同步

Web集群中有n个节点。文件可以上传到任何节点,然后必须分发到每个其他节点。这种分布不必在事务中发生(事实上它不能,分布式事务不能扩展)并且一些延迟是可以接受的,尽管必须是最小的。可以任意解决冲突(通常最后写入获胜),前提是解决方案也分发给所有节点,以便最终所有节点都具有相同的文件集。可以动态添加和删除节点,而无需重新配置现有节点。必须没有单点故障,也不需要额外的盒子来解决这个问题(比如RabbitMQ)我正在考虑使用consul.io进行动态配置,以便每个节点都可以引用consul来确定其他可用的节点,并编写一个守护进程(Golang)来监视相关文件夹并使用其他节点进行通信零MQ。虽

networking - net/http GET 请求错误 tls 收到长度为 20527 的超大记录

我坚持使用Golang执行get请求,我也尝试了三种不同的实现,但均未成功。对于所有这些,我都收到此错误消息:获取https://11.11.11.1:0000/httpgw.conf?Type=SMS&Address=12345678&MsgID=123&Notify=N&Validity=24:00&OAdC=15555&Message=HelloBrother:tls:超大记录d收到长度为20527下面是我正在处理的完整源代码:packagemainimport("crypto/tls""fmt""io/ioutil""net/http""os")funcmain(){cmdSe

function - golang : http. get() 返回

好的,是的,我是golang的新手,但不是编码,我对函数与golang一起工作的方式有点困惑,在这2周内我有9次或10次遇到与它相关的问题功能...我并不懒惰,我到处寻找示例来激发我的灵感,但它们都在一个main()功能下。我试图在一个函数中有一个http.get,而许多其他函数在每次我们需要使用http.get时调用这个函数,这样我们就不会一遍又一遍地重复代码。示例:(这不是实际代码)funcmyfunction(site)[]byte{resp,err:=client.Get(site)//clientisbecauseImtunnelingthingonaproxyTORandh

走。在服务器程序中获取错误 i/o 超时

我编写了简单的服务器程序来从客户端接收数据。我有点不明白有时我从函数中得到错误readtcp4IP:PORTi/otimeoutint,err:=conn.Read([]byte)未超过函数SetDeadline()中设置的事件时间。我展示了我的部分代码,但我认为这就足够了。我接收数据的主循环如下。c:=NewClient()c.kickTime:time.Now()func(c*Client)Listen(){durationToClose:=time.Minute*time.Duration(5),c.conn.SetDeadline(c.kickTime.Add(c.durati

javascript - Websocket 握手失败 404(golang 服务器)

我有一个简单的goweb服务器,它在端口localhost:8080上提供一个公共(public)文件夹,其中包含一个html文件以及一个带有websocket逻辑的客户端脚本。在我的main.gofilelistener,err:=net.listen("tcp","localhost:8080")iferr!=nil{log.Fatal(err)}//fullcodeingisthttps://gist.github.com/Kielan/98706aaf5dc0be9d6fbe然后在我的客户端脚本中try{varsock=newWebSocket("ws://127.0.0.1:

Golang : redirect twice and cause http: multiple response. WriteHeader 调用

我有一个非常奇怪的输出......让我先发布我的代码然后我会解释:在我声明的main函数下manageMux.HandleFunc("/info",info)首先我登录并从“/login”重定向到页面“/”:funclogin(whttp.ResponseWriter,r*http.Request){ifr.Method=="GET"{t,err:=template.ParseFiles("manage/login.html")checkError(err)t.Execute(w,nil)}else{//POSTr.ParseForm()//dosomeauthenticationsh

file - 去)我如何进行下载服务?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭6年前。Improvethisquestion我做上传服务器但是我不能做下载服务器packagemainimport("fmt""io""os""github.com/gin-gonic/gin")funcuploadHandler(c*gin.Context){uid:=c.Request.FormValue("uid")file,header,err:=c.Request.FormFile("uploadFile")filename:=heade

golang windows服务包初始化设置

我正在尝试使用这个包创建一个golangwindows服务godoc.org/golang.org/x/sys/windows/svc一切正常,直到我添加一个初始化函数来初始化设置。然后服务无法启动。我试图通过这个包加载config.jsongithub.com/spf13/viper我得到的错误是:无法启动服务:服务没有及时响应启动或控制请求。 最佳答案 @JimB谢谢。就是这样,在调试中运行它会在exe所在的文件夹中查找,在服务中运行时,它会在system32文件夹中查找。我安装了github.com/kardianos/ose

http - 何时使用 HTTP 代理

我无法理解ProxyFromEnvironment和ProxyURL在net/http包中。有人可以向我解释何时以及为何使用这两个功能吗?我目前的理解(至少对于ProxyFromEnvironment而言)是它用于从环境变量中获取代理服务器的URL,并且该代理服务器用于发出HTTP请求。 最佳答案 这两个函数都与您如何使用http.Transport机制有关。一个可用于允许传输从环境中动态检索代理设置,另一个可用于提供静态URL,每次由传输为代理使用。ProxyFromEnvironment是一个函数,它返回描述环境中配置的代理的U

audio - 如何让服务器在收到请求时播放声音

我想让服务器在每次收到请求时播放一段声音。如果我使用基于Go的服务器,有没有办法做到这一点?这个想法是服务器托管一个浏览器窗口,它收到一个请求,然后浏览器发出“ping!”。 最佳答案 这取决于您希望代码在哪个操作系统上运行。Afaik没有用于从go播放声音的通用跨平台解决方案:在Linux上,您可能需要依赖PulseAudio和一个软件包,例如github.com/mesilliac/pulse-simple在Windows和Mac上,您可以将PortAudio与诸如github.com/gordonklaus/portaudio